#ifndef MODIFER_H
#define MODIFER_H

#include <QtCore/QObject>

#include <ed_core/global/defs.h>
#include <ed_core/tests/test.h>

namespace ed_core
{

class Modifiable;

class ED_CORE_API Modifier
{
public:
  explicit Modifier(QObject* parent=0);
  virtual ~Modifier();

  virtual bool appliesTo(Modifiable*) const=0;

  virtual qint32 valueModifier() const { return 0; }
  virtual qint32 resultModifier() const { return 0; }
  virtual ResultDegree resultDegreeModifier() const { return 0; }
};

} // namespace ed_core

#endif // MODIFER_H


